package com.example.demo.controller;

import com.example.demo.pojo.Jilue;
import com.example.demo.service.JiLueService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/api/users")
public class JiLueController {

     @Autowired
    private JiLueService jilueService;

    // 查询所有记录或模糊查询
    @GetMapping("search")
    public ResponseEntity<List<Jilue>> getAllJilues(@RequestParam(value = "nameOrId", required = false, defaultValue = "") String nameOrId) {
        System.out.println(nameOrId);
        List<Jilue> jilues = jilueService.getAllJilues(nameOrId);
        return ResponseEntity.ok(jilues);
    }

    // 添加记录
   @PostMapping("/addjiLue")
   public ResponseEntity<?> addJilue(@RequestBody Jilue jilue) {
    // 检查 id 是否已经存在
    if (jilueService.existsById(jilue.getId())) {
        // 如果 ID 已存在，返回 400 错误
        return ResponseEntity.badRequest().body("学号/工号已存在，不能重复插入！");
    }



    // 插入新记录
    Jilue newJilue = jilueService.addJilue(jilue);
    return ResponseEntity.ok(newJilue);
}


    // 更新记录
    @PutMapping("/{id}")
    public ResponseEntity<?> updateJilue(@PathVariable Long id, @RequestBody Jilue jilue) {
//        if (jilueService.existsById(id)) {
//        // 如果 ID 已存在，返回 400 错误
//        return ResponseEntity.badRequest().body("学号/工号已存在，不能重复插入！");
//    }
        Jilue updatedJilue = jilueService.updateJilue(id, jilue);
        return ResponseEntity.ok(updatedJilue);
    }

    // 删除记录
    @DeleteMapping("/{id}")
    public ResponseEntity<?> deleteJilue(@PathVariable Long id) {
//         if (jilueService.existsById(id)) {
        // 如果 ID 已存在，返回 400 错误
//        return ResponseEntity.badRequest().body("学号/工号已存在，不能重复插入！");
//    }
        jilueService.deleteJilue(id);
        return ResponseEntity.noContent().build();
    }
}
